// 这里是存放数据的仓库 在store里面创建的每一个文件都是一个仓库
// 用户数据管理
export const state = () => ({
  // 创建存放用户数据的对象
  userinfo: {}
})
// vuex里面的数据仓库不能被随意修改 想要覆盖旧的数据就要用vuex的方法
// 创建修改器 mutations是一个对象 里面的每一个属性都是修改器
export const mutations = {
  // 传递两个形参 一个是修改前的旧数据 一个是覆盖的新数据
  setuserInfo(state, data) {
    state.userinfo = data
  },
  // 创建一个删除store仓库数据的函数
  clearuserInfo(state) {
    state.userinfo = {}
  }
}
// 使用action实现异步请求操作
export const actions = {
  // 函数里面可以传递两个参数 第一个是store本身 第二个是要提交的数据
  login(store, data) {
    return this.$axios({
      url: "/accounts/login",
      method: "POST",
      data: data
    }).then(res => {
      const data = res.data;
      // 保存到state
      store.commit("setuserInfo", data);
      console.log(store.state.userinfo);
      return data;
    })
  }
}
